/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mrp.persistencia.entity;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 *
 * @author root
 */
@Entity
@Table(name = "desgloseproyeccionlineaproduccion")
@NamedQueries({
    @NamedQuery(name = "Desgloseproyeccionlineaproduccion.findAll", query = "SELECT d FROM Desgloseproyeccionlineaproduccion d"),
    @NamedQuery(name = "Desgloseproyeccionlineaproduccion.findByCoddesgloselineaproduccion", query = "SELECT d FROM Desgloseproyeccionlineaproduccion d WHERE d.coddesgloselineaproduccion = :coddesgloselineaproduccion"),
    @NamedQuery(name = "Desgloseproyeccionlineaproduccion.findByPorcentajeproduccion", query = "SELECT d FROM Desgloseproyeccionlineaproduccion d WHERE d.porcentajeproduccion = :porcentajeproduccion"),
    @NamedQuery(name = "Desgloseproyeccionlineaproduccion.findByTotalparesproducirmeslineaproduccion", query = "SELECT d FROM Desgloseproyeccionlineaproduccion d WHERE d.totalparesproducirmeslineaproduccion = :totalparesproducirmeslineaproduccion"),
    @NamedQuery(name = "Desgloseproyeccionlineaproduccion.findByDigitador", query = "SELECT d FROM Desgloseproyeccionlineaproduccion d WHERE d.digitador = :digitador"),
    @NamedQuery(name = "Desgloseproyeccionlineaproduccion.findByFechadigitador", query = "SELECT d FROM Desgloseproyeccionlineaproduccion d WHERE d.fechadigitador = :fechadigitador")})
public class Desgloseproyeccionlineaproduccion implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 2147483647)
    @Column(name = "coddesgloselineaproduccion")
    private String coddesgloselineaproduccion;
    @Basic(optional = false)
    @NotNull
    @Column(name = "porcentajeproduccion")
    private int porcentajeproduccion;
    @Basic(optional = false)
    @NotNull
    @Column(name = "totalparesproducirmeslineaproduccion")
    private int totalparesproducirmeslineaproduccion;
    @Basic(optional = false)
    @NotNull
    @Column(name = "digitador")
    private int digitador;
    @Basic(optional = false)
    @NotNull
    @Column(name = "fechadigitador")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechadigitador;
    @JoinColumn(name = "lineaproduccion_fk", referencedColumnName = "numerolineaproduccion")
    @ManyToOne(optional = false)
    private Lineaproduccion lineaproduccionFk;
    @JoinColumn(name = "desgloseproyeccionproducccionmensual_fk", referencedColumnName = "numeromesanio")
    @ManyToOne(optional = false)
    private Desgloseproyeccionproduccionmensual desgloseproyeccionproducccionmensualFk;

    public Desgloseproyeccionlineaproduccion() {
    }

    public Desgloseproyeccionlineaproduccion(String coddesgloselineaproduccion) {
        this.coddesgloselineaproduccion = coddesgloselineaproduccion;
    }

    public Desgloseproyeccionlineaproduccion(String coddesgloselineaproduccion, int porcentajeproduccion, int totalparesproducirmeslineaproduccion, int digitador, Date fechadigitador) {
        this.coddesgloselineaproduccion = coddesgloselineaproduccion;
        this.porcentajeproduccion = porcentajeproduccion;
        this.totalparesproducirmeslineaproduccion = totalparesproducirmeslineaproduccion;
        this.digitador = digitador;
        this.fechadigitador = fechadigitador;
    }

    public String getCoddesgloselineaproduccion() {
        return coddesgloselineaproduccion;
    }

    public void setCoddesgloselineaproduccion(String coddesgloselineaproduccion) {
        this.coddesgloselineaproduccion = coddesgloselineaproduccion;
    }

    public int getPorcentajeproduccion() {
        return porcentajeproduccion;
    }

    public void setPorcentajeproduccion(int porcentajeproduccion) {
        this.porcentajeproduccion = porcentajeproduccion;
    }

    public int getTotalparesproducirmeslineaproduccion() {
        return totalparesproducirmeslineaproduccion;
    }

    public void setTotalparesproducirmeslineaproduccion(int totalparesproducirmeslineaproduccion) {
        this.totalparesproducirmeslineaproduccion = totalparesproducirmeslineaproduccion;
    }

    public int getDigitador() {
        return digitador;
    }

    public void setDigitador(int digitador) {
        this.digitador = digitador;
    }

    public Date getFechadigitador() {
        return fechadigitador;
    }

    public void setFechadigitador(Date fechadigitador) {
        this.fechadigitador = fechadigitador;
    }

    public Lineaproduccion getLineaproduccionFk() {
        return lineaproduccionFk;
    }

    public void setLineaproduccionFk(Lineaproduccion lineaproduccionFk) {
        this.lineaproduccionFk = lineaproduccionFk;
    }

    public Desgloseproyeccionproduccionmensual getDesgloseproyeccionproducccionmensualFk() {
        return desgloseproyeccionproducccionmensualFk;
    }

    public void setDesgloseproyeccionproducccionmensualFk(Desgloseproyeccionproduccionmensual desgloseproyeccionproducccionmensualFk) {
        this.desgloseproyeccionproducccionmensualFk = desgloseproyeccionproducccionmensualFk;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (coddesgloselineaproduccion != null ? coddesgloselineaproduccion.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Desgloseproyeccionlineaproduccion)) {
            return false;
        }
        Desgloseproyeccionlineaproduccion other = (Desgloseproyeccionlineaproduccion) object;
        if ((this.coddesgloselineaproduccion == null && other.coddesgloselineaproduccion != null) || (this.coddesgloselineaproduccion != null && !this.coddesgloselineaproduccion.equals(other.coddesgloselineaproduccion))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "mrp.persistencia.entity.Desgloseproyeccionlineaproduccion[ coddesgloselineaproduccion=" + coddesgloselineaproduccion + " ]";
    }
    
}
